TPTP Axioms File: SET008^1.ax


%------------------------------------------------------------------------------
% File     : SET008^1 : TPTP v8.2.0. Released v3.6.0.
% Domain   : Set Theory
% Axioms   : Definitions for functions
% Version  : [Ben08] axioms.
% English  :

% Refs     : [BS+05] Benzmueller et al. (2005), Can a Higher-Order and a Fi
%          : [BS+08] Benzmueller et al. (2007), Combined Reasoning by Autom
%          : [Ben08] Benzmueller (2008), Email to Geoff Sutcliffe
% Source   : [Ben08]
% Names    : Typed_Function [Ben08]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   16 (   8 unt;   8 typ;   8 def)
%            Number of atoms       :   22 (  13 equ;   0 cnn)
%            Maximal formula atoms :    1 (   1 avg)
%            Number of connectives :   29 (   0   ~;   0   |;   3   &;  23   @)
%                                         (   0 <=>;   3  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    1 (   1 avg;  23 nst)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :   46 (  46   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :    9 (   8 usr;   0 con; 1-3 aty)
%            Number of variables   :   26 (  16   ^   7   !;   3   ?;  26   :)
% SPC      : 

% Comments : Requires SET008^0.
%------------------------------------------------------------------------------
thf(fun_image_decl,type,
    fun_image: ( $i > $i ) > ( $i > $o ) > $i > $o ).

thf(fun_image,definition,
    ( fun_image
    = ( ^ [F: $i > $i,A: $i > $o,Y: $i] :
        ? [X: $i] :
          ( ( A @ X )
          & ( Y
            = ( F @ X ) ) ) ) ) ).

thf(fun_composition_decl,type,
    fun_composition: ( $i > $i ) > ( $i > $i ) > $i > $i ).

thf(fun_composition,definition,
    ( fun_composition
    = ( ^ [F: $i > $i,G: $i > $i,X: $i] : ( G @ ( F @ X ) ) ) ) ).

thf(fun_inv_image_decl,type,
    fun_inv_image: ( $i > $i ) > ( $i > $o ) > $i > $o ).

thf(fun_inv_image,definition,
    ( fun_inv_image
    = ( ^ [F: $i > $i,B: $i > $o,X: $i] :
        ? [Y: $i] :
          ( ( B @ Y )
          & ( Y
            = ( F @ X ) ) ) ) ) ).

thf(fun_injective_decl,type,
    fun_injective: ( $i > $i ) > $o ).

thf(fun_injective,definition,
    ( fun_injective
    = ( ^ [F: $i > $i] :
        ! [X: $i,Y: $i] :
          ( ( ( F @ X )
            = ( F @ Y ) )
         => ( X = Y ) ) ) ) ).

thf(fun_surjective_decl,type,
    fun_surjective: ( $i > $i ) > $o ).

thf(fun_surjective,definition,
    ( fun_surjective
    = ( ^ [F: $i > $i] :
        ! [Y: $i] :
        ? [X: $i] :
          ( Y
          = ( F @ X ) ) ) ) ).

thf(fun_bijective_decl,type,
    fun_bijective: ( $i > $i ) > $o ).

thf(fun_bijective,definition,
    ( fun_bijective
    = ( ^ [F: $i > $i] :
          ( ( fun_injective @ F )
          & ( fun_surjective @ F ) ) ) ) ).

thf(fun_decreasing_decl,type,
    fun_decreasing: ( $i > $i ) > ( $i > $i > $o ) > $o ).

thf(fun_decreasing,definition,
    ( fun_decreasing
    = ( ^ [F: $i > $i,SMALLER: $i > $i > $o] :
        ! [X: $i,Y: $i] :
          ( ( SMALLER @ X @ Y )
         => ( SMALLER @ ( F @ Y ) @ ( F @ X ) ) ) ) ) ).

thf(fun_increasing_decl,type,
    fun_increasing: ( $i > $i ) > ( $i > $i > $o ) > $o ).

thf(fun_increasing,definition,
    ( fun_increasing
    = ( ^ [F: $i > $i,SMALLER: $i > $i > $o] :
        ! [X: $i,Y: $i] :
          ( ( SMALLER @ X @ Y )
         => ( SMALLER @ ( F @ X ) @ ( F @ Y ) ) ) ) ) ).

%------------------------------------------------------------------------------